1. Field of the Invention
The present invention relates to systems that communicate data with mobile terminals, and more particularly, to a system that communicates employing a protocol called a mobile IP (Internet Protocol) standardized by IETF (Internet Engineering Task Force).
2. Description of the Background Art
Recently, mobile terminals including mobile phones and personal digital assistants (PDA) have been widespread, which perform data communication wirelessly. To enable such data communication over networks, each mobile terminal predetermines its primary assigned network. The mobile terminal performs the data communication via a wireless communication device (hereinafter, “communication device”) included in the predetermined network.
The mobile IP standardized by IETF is a communication protocol that is used when a mobile terminal is out of a communication range of the communication device included in its predetermined network. This mobile IP allows the mobile terminal to communicate even when it has moved to a network other than the predetermined network, without a need to change its IP address identifying itself.
A network system realizing communication of mobile terminals using this mobile IP will now be described. As shown in FIG. 1, the network system includes: a plurality of home networks 100; a server (hereinafter, “ISP”) 200 connected to the plurality of home networks 100, which is operated by an Internet service provider (provider company); a foreign router 300; a foreign network 400 such as a local area network (LAN); a data communication terminal 500 connected to foreign router 300; and a public IP network 600 that communicates using IP packets. ISP 200, foreign router 300 and foreign network 400 are connected to public IP network 600.
Home network 100 includes: a home gateway 110 having a routing function that forwards packets between routers; a mobile node 160 as a mobile terminal that moves between the home network and the foreign network; and an access point (hereinafter, “AP”) 150 that is connected to home gateway 110 and transmits data received via home gateway 110 to mobile node 160 wirelessly. Home gateway 110 connects home network 100 with a network other than the home network 100. Home gateway 110 has an agent function. For mobile node 160, one home network having home gateway 110 as its home agent function will always be set. One network may be set for a plurality of mobile nodes 160 as their home networks.
ISP 200 connects public IP network 600 with a plurality of home networks 100 and foreign networks 400. Via ISP 200, mobile node 160 on home network (e.g., user home network) 100 is able to receive data from data communication terminal 500.
Foreign network 400 has a configuration identical to that of home network 100, except that foreign network 400 is provided with a foreign router 300 while home network 100 is provided with home gateway 110.
Public IP network 600 uses IP packets to realize communication, e.g., between mobile node 160 and data communication terminal 500.
Referring to FIG. 2, home gateway 110 includes: a control unit 120 for control of home gateway 110; a storage unit 130 for storing various kinds of data; and a communication interface 140 for communicating with devices included in home network 100 and with ISP 200. Control unit 120 includes: a routing circuit 122 that forwards IP packets between routers; and an agent advertisement transmission circuit 124 that transmits an agent advertisement message. In practice, agent advertisement transmission circuit 124 is often included in routing circuit 122. Storage unit 130 stores a location management table (representing a status of mobility binding) 132, which is created based on a location registration request message from mobile node 160. Mobile node 160 sends this location registration request message in response to the agent advertisement message transmitted by agent advertisement transmission circuit 124. The agent advertisement message and the location management table will be described in detail below.
Referring to FIG. 3, ISP 200 includes: a control unit 210 for control of ISP 200; a storage unit 220 for storing various kinds of data; and a communication interface 230 for communicating with home gateway 110 and public IP network 600. Control unit 210 includes: a routing circuit 212 that forwards IP packets between routers; and a server circuit 214, for example, for transmitting data to mobile node 160 as a file server.
Referring to FIG. 4, foreign router 300 has a configuration identical to that of home gateway 110. The control unit 310 of foreign router 300 corresponds to control unit 120 of home gateway 110. The storage unit 320 of foreign router 300 corresponds to storage unit 130 of home gateway 110. The communication interface 330 of foreign router 300 corresponds to communication interface 140 of home gateway 110. The routing circuit 312, agent advertisement transmission circuit 314 and location management table 322 of foreign router 300 correspond to routing circuit 122, agent advertisement transmission circuit 124 and location management table 132 of home gateway 110, respectively.
Referring to FIG. 5, mobile node 160 includes: a control unit 162 for control of mobile node 160; a display circuit 164 for display of data received, for example, from a data communication terminal 500; an input circuit 166 used by a user for input of a data request or the like; a storage circuit 168 for storing various kinds of data including location information data; an audio data input/output unit 170 used by a user for input and/or output of audio data; and a wireless communication circuit 172 for wireless communication with AP 150. The location information data will be described in detail below.
FIG. 6 shows an example of the location management table. The location management table is created based on the location registration request message sent from mobile node 160. As shown in FIG. 6, the location management table stores, for each mobile node 160, a home address (IP address) that specifies the mobile node 160, and an address (care-of address) of foreign router 300 or home gateway 110 of a network on which the mobile node 160 is currently located.
FIG. 7 shows an example of the location information data stored in mobile node 160. As shown in FIG. 7, the location information data includes: an IP address for uniquely specifying one mobile node 160 among a plurality of mobile nodes, a home agent address of the mobile node 160, and its current address. The home agent address is the address of home gateway 110. The current address is the address of home gateway 110 or foreign router 300 included in an agent advertisement message received from home gateway 110 or foreign router 300.
FIG. 8 shows an example of the agent advertisement message sent from agent advertisement transmission circuits 124, 314. The agent advertisement message is a message transmitted from home gateway 110 or foreign router 300 to mobile node 160. As shown in FIG. 8, the agent advertisement message includes a communication header, and an address of the home gateway or foreign router. Upon receipt of this agent advertisement message, mobile node 160 compares the home agent address stored in storage unit 168 of mobile node 160 with the address included in the received agent advertisement message to determine whether it is located on its home network or on a foreign network.
Referring to FIG. 9, the location registration request message is sent from mobile node 160 to home gateway 110 when the mobile node 160 determines that it has moved to a foreign network. The location registration request message includes: a communication header; an address of home gateway 110 as a destination; an IP address of mobile node 160 as a sender; and an address of home gateway 110 or foreign router 300 that was included in the agent advertisement message the mobile node received.
Referring to FIG. 10, an operation of this communication system in the case where mobile node 160 moves from its home network 100 to a foreign network 400 will be described. At first, mobile node 160 is located on home network 100, and location management table 132 in home gateway 110 stores no care-of address corresponding to this mobile node 160.
Assume that mobile node 160 moves to foreign network 400 in this state. Mobile node 160 then receives an agent advertisement message from agent advertisement transmission circuit 314 of foreign router 300. The agent advertisement messages are transmitted (multicasted or broadcasted) periodically by agent advertisement transmission circuit 314. Mobile node 160 detects that the address of foreign router 300 included in the received agent advertisement message is different from the home agent address in the location information data stored in storage circuit 168. Thus, mobile node 160 sends a location registration request to home gateway 110. Upon receipt of the location registration request message from mobile node 160, home gateway 110 stores the address of foreign router 300 included therein as a care-of address of the relevant mobile node 160.
Assume that data communication terminal 500 transmits data destined for mobile node 160 in this state. Specifically, data communication terminal 500 sends the data via ISP 200 to home gateway 110 included in the home network of mobile node 160. At this time, an IP header indicating the destination of the data includes the address of home gateway 110 and the address of mobile node 160. Home gateway 110, referring to location management table 132 in storage unit 130, adds the care-of address of mobile node 160 (i.e., address of foreign router 300) to the IP header, and forwards the data to foreign router 300. Upon receipt of the data, foreign router 300 removes the care-of address therefrom, and delivers the data to mobile node 160 via AP 150. In this manner, it is possible to send data to mobile node 160 that has moved from its home network to a foreign network.
A process performed by home gateway 110 will now be described with reference to a flow chart in FIG. 11.
In step (S) 100, control unit 120 determines whether a location registration request message as shown in FIG. 9 has been received from mobile node 160. If such message has been received (YES in S100), the process goes to S102. Otherwise (NO in S100), the process goes to S106.
In S102, control unit 120 stores, in location management table 132, an address of foreign router 300 included in the received location registration request message as a care-of address of the mobile node 160 that originated the request. Note that home gateway 110 may receive, instead of the address of foreign router 300, an address of home gateway 110 of another home network other than its own home network. This happens when mobile node 160 has moved to a home network other than its own home network.
In S104, control unit 120 transmits a location registration completion message to mobile node 160. In S106, control unit 120 determines whether data destined for mobile node 160 has been received from ISP 200. This may be the data transmitted from data communication terminal 500 to mobile node 160. If such data has been received from ISP 200 (YES in S106), the process goes to S108. Otherwise (NO in S106), the process returns to S100.
In S108, control unit 120 determines whether a care-of address has been set in location management table 132 for mobile node 160 as the destination of the transmitted data. If the care-of address has been set (YES in S108), the process goes to S110. Otherwise (NO in S108), the process goes to S114.
In S110, control unit 120 acquires the care-of address from location management table 132, and adds to the data a new header including this care-of address as the destination address (encapsulation). In S112, control unit 120 forwards the data to the care-of address (by tunneling). Upon receipt of the data, foreign router 300 removes the header, and sends the data via AP 150 included in foreign network 400 to mobile node 160.
This routing function of home gateway 110 by which data is forwarded via a tunnel to foreign router 300 of a foreign network on which the mobile node 160 is now located is called a home agent function. The routing function of foreign router 300 by which the data forwarded by the home agent function is delivered to mobile node 160 is called a foreign agent function.
In S114, control unit 120 transmits the data to the designated address without taking a care-of address into consideration. In S116, control unit 120 determines whether to end the process in home gateway 110. This decision is made by checking whether a predetermined condition has been satisfied. If YES in S116, the process ends. Otherwise (NO in S116), the process returns to S100.
In the case where mobile node 160 transmits data while it is on, e.g., foreign network 400, the data is transmitted to a designated address using foreign router 300 of foreign network 400.
In the system as described above, home gateway 110 is provided for each home network 100, and the location management of mobile node 160 is done by each home gateway 110. If the number of home networks 100 increases, the situation occurs where the performance of location management of mobile node 160 depends on a large number of home gateways 110.
In such a system, when mobile node 160 is located on a foreign network, its care-of address set in the location management table in home gateway 110 should first be referred to such that a routing circuit of home gateway 110 can forward packets to the relevant foreign network. Regardless of the current location of mobile node 160, the packets are forwarded to home gateway 110 without exception, which makes the communication redundant. Likewise, for the location registration, it is necessary to send the location registration request message to home gateway 110, which again causes redundant communication. Such redundant communication increases traffic, thereby degrading communication response of the network.